package com.lp.common.dto;

import java.util.List;
import java.util.Map;

public interface PageInterface<T> {

    /**
     * 总条数
     * @param count
     */
    public void setCount(int count);

    /**
     * 设置分页大小
     * @param pageSize
     */
    public void setPageSize(int pageSize);

    /**
     * 设置开始位置
     * @param index
     */
    public void setStartIndex(int index);

    /**
     * 设置当前页数
     * @param currentPage
     */
    public void setCurrentPage(int currentPage);

    /**
     * 数据
     * @param data
     */
    public void setData(List<T> data);

    /**
    * 数据
    * @param data
    */
    public void setVariableData(Map<String, Object> variableData);

    /**
    * 数据
    * @param data
    */
    public Map<String, Object> getVariableData();

    /**
     * 当前页数
     * @return
     */
    public int getCurrentPage();

    /**
     * 数据条数
     * @return
     */
    public int getCount();

    /**
     * 返回数据条数
     * @return
     */
    public int getDataCount();

    /**
     * 返回数据集
     * @return
     */
    public List<T> getData();

    /**
     * 分页大小
     * @return
     */
    public int getPageSize();

    /**
     * 下一个开始位置
     * @return
     */
    public int getNextStartIndex();

    /**
     * 得到上一个开始位置
     * @return
     */
    public int getPreviousStartIndex();

    /**
     * 得到最后一条数据的索引
     * @return
     */
    public int getEndIndex();

    /**
     * 得到下一个页数
     * @return
     */
    public int getNextPage();

    /**
     * 得到上一页页数
     * @return
     */
    public int getPreviousPage();

    /**
     * 开始位置
     * @return
     */
    public int getStartIndex();

    /**
     * 得到总页数
     * @return
     */
    public int getPageTotal();

    /**
     * 是否结束1.已结束0.未结束
     * @return
     */
    public byte getEnd();


}
